package com.hongguan.oms.domain.netopmng;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class InfoReportExample {
   
    protected String orderByClause;

    protected List<Criteria> oredCriteria;

    public InfoReportExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    protected InfoReportExample(InfoReportExample example) {
        this.orderByClause = example.orderByClause;
        this.oredCriteria = example.oredCriteria;
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
    }

    public static class Criteria {
        protected List<String> criteriaWithoutValue;

        protected List<Map<String, Object>> criteriaWithSingleValue;

        protected List<Map<String, Object>> criteriaWithListValue;

        protected List<Map<String, Object>> criteriaWithBetweenValue;

        protected Criteria() {
            super();
            criteriaWithoutValue = new ArrayList<String>();
            criteriaWithSingleValue = new ArrayList<Map<String, Object>>();
            criteriaWithListValue = new ArrayList<Map<String, Object>>();
            criteriaWithBetweenValue = new ArrayList<Map<String, Object>>();
        }

        public boolean isValid() {
            return criteriaWithoutValue.size() > 0
                || criteriaWithSingleValue.size() > 0
                || criteriaWithListValue.size() > 0
                || criteriaWithBetweenValue.size() > 0;
        }

        public List<String> getCriteriaWithoutValue() {
            return criteriaWithoutValue;
        }

        public List<Map<String, Object>> getCriteriaWithSingleValue() {
            return criteriaWithSingleValue;
        }

        public List<Map<String, Object>> getCriteriaWithListValue() {
            return criteriaWithListValue;
        }

        public List<Map<String, Object>> getCriteriaWithBetweenValue() {
            return criteriaWithBetweenValue;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteriaWithoutValue.add(condition);
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("condition", condition);
            map.put("value", value);
            criteriaWithSingleValue.add(map);
        }

        protected void addCriterion(String condition, List<? extends Object> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("condition", condition);
            map.put("values", values);
            criteriaWithListValue.add(map);
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            List<Object> list = new ArrayList<Object>();
            list.add(value1);
            list.add(value2);
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("condition", condition);
            map.put("values", list);
            criteriaWithBetweenValue.add(map);
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andInfoIdIsNull() {
            addCriterion("INFO_ID is null");
            return this;
        }

        public Criteria andInfoIdIsNotNull() {
            addCriterion("INFO_ID is not null");
            return this;
        }

        public Criteria andInfoIdEqualTo(Long value) {
            addCriterion("INFO_ID =", value, "infoId");
            return this;
        }

        public Criteria andInfoIdNotEqualTo(Long value) {
            addCriterion("INFO_ID <>", value, "infoId");
            return this;
        }

        public Criteria andInfoIdGreaterThan(Long value) {
            addCriterion("INFO_ID >", value, "infoId");
            return this;
        }

        public Criteria andInfoIdGreaterThanOrEqualTo(Long value) {
            addCriterion("INFO_ID >=", value, "infoId");
            return this;
        }

        public Criteria andInfoIdLessThan(Long value) {
            addCriterion("INFO_ID <", value, "infoId");
            return this;
        }

        public Criteria andInfoIdLessThanOrEqualTo(Long value) {
            addCriterion("INFO_ID <=", value, "infoId");
            return this;
        }

        public Criteria andInfoIdIn(List<Long> values) {
            addCriterion("INFO_ID in", values, "infoId");
            return this;
        }

        public Criteria andInfoIdNotIn(List<Long> values) {
            addCriterion("INFO_ID not in", values, "infoId");
            return this;
        }

        public Criteria andInfoIdBetween(Long value1, Long value2) {
            addCriterion("INFO_ID between", value1, value2, "infoId");
            return this;
        }

        public Criteria andInfoIdNotBetween(Long value1, Long value2) {
            addCriterion("INFO_ID not between", value1, value2, "infoId");
            return this;
        }

        public Criteria andInfoNumberIsNull() {
            addCriterion("INFO_NUMBER is null");
            return this;
        }

        public Criteria andInfoNumberIsNotNull() {
            addCriterion("INFO_NUMBER is not null");
            return this;
        }

        public Criteria andInfoNumberEqualTo(String value) {
            addCriterion("INFO_NUMBER =", value, "infoNumber");
            return this;
        }

        public Criteria andInfoNumberNotEqualTo(String value) {
            addCriterion("INFO_NUMBER <>", value, "infoNumber");
            return this;
        }

        public Criteria andInfoNumberGreaterThan(String value) {
            addCriterion("INFO_NUMBER >", value, "infoNumber");
            return this;
        }

        public Criteria andInfoNumberGreaterThanOrEqualTo(String value) {
            addCriterion("INFO_NUMBER >=", value, "infoNumber");
            return this;
        }

        public Criteria andInfoNumberLessThan(String value) {
            addCriterion("INFO_NUMBER <", value, "infoNumber");
            return this;
        }

        public Criteria andInfoNumberLessThanOrEqualTo(String value) {
            addCriterion("INFO_NUMBER <=", value, "infoNumber");
            return this;
        }

        public Criteria andInfoNumberLike(String value) {
            addCriterion("INFO_NUMBER like", value, "infoNumber");
            return this;
        }

        public Criteria andInfoNumberNotLike(String value) {
            addCriterion("INFO_NUMBER not like", value, "infoNumber");
            return this;
        }

        public Criteria andInfoNumberIn(List<String> values) {
            addCriterion("INFO_NUMBER in", values, "infoNumber");
            return this;
        }

        public Criteria andInfoNumberNotIn(List<String> values) {
            addCriterion("INFO_NUMBER not in", values, "infoNumber");
            return this;
        }

        public Criteria andInfoNumberBetween(String value1, String value2) {
            addCriterion("INFO_NUMBER between", value1, value2, "infoNumber");
            return this;
        }

        public Criteria andInfoNumberNotBetween(String value1, String value2) {
            addCriterion("INFO_NUMBER not between", value1, value2, "infoNumber");
            return this;
        }

        public Criteria andInfoHeaderIsNull() {
            addCriterion("INFO_HEADER is null");
            return this;
        }

        public Criteria andInfoHeaderIsNotNull() {
            addCriterion("INFO_HEADER is not null");
            return this;
        }

        public Criteria andInfoHeaderEqualTo(String value) {
            addCriterion("INFO_HEADER =", value, "infoHeader");
            return this;
        }

        public Criteria andInfoHeaderNotEqualTo(String value) {
            addCriterion("INFO_HEADER <>", value, "infoHeader");
            return this;
        }

        public Criteria andInfoHeaderGreaterThan(String value) {
            addCriterion("INFO_HEADER >", value, "infoHeader");
            return this;
        }

        public Criteria andInfoHeaderGreaterThanOrEqualTo(String value) {
            addCriterion("INFO_HEADER >=", value, "infoHeader");
            return this;
        }

        public Criteria andInfoHeaderLessThan(String value) {
            addCriterion("INFO_HEADER <", value, "infoHeader");
            return this;
        }

        public Criteria andInfoHeaderLessThanOrEqualTo(String value) {
            addCriterion("INFO_HEADER <=", value, "infoHeader");
            return this;
        }

        public Criteria andInfoHeaderLike(String value) {
            addCriterion("INFO_HEADER like", value, "infoHeader");
            return this;
        }

        public Criteria andInfoHeaderNotLike(String value) {
            addCriterion("INFO_HEADER not like", value, "infoHeader");
            return this;
        }

        public Criteria andInfoHeaderIn(List<String> values) {
            addCriterion("INFO_HEADER in", values, "infoHeader");
            return this;
        }

        public Criteria andInfoHeaderNotIn(List<String> values) {
            addCriterion("INFO_HEADER not in", values, "infoHeader");
            return this;
        }

        public Criteria andInfoHeaderBetween(String value1, String value2) {
            addCriterion("INFO_HEADER between", value1, value2, "infoHeader");
            return this;
        }

        public Criteria andInfoHeaderNotBetween(String value1, String value2) {
            addCriterion("INFO_HEADER not between", value1, value2, "infoHeader");
            return this;
        }

        public Criteria andLastFinishTimeIsNull() {
            addCriterion("LAST_FINISH_TIME is null");
            return this;
        }

        public Criteria andLastFinishTimeIsNotNull() {
            addCriterion("LAST_FINISH_TIME is not null");
            return this;
        }

        public Criteria andLastFinishTimeEqualTo(Date value) {
            addCriterionForJDBCDate("LAST_FINISH_TIME =", value, "lastFinishTime");
            return this;
        }

        public Criteria andLastFinishTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("LAST_FINISH_TIME <>", value, "lastFinishTime");
            return this;
        }

        public Criteria andLastFinishTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("LAST_FINISH_TIME >", value, "lastFinishTime");
            return this;
        }

        public Criteria andLastFinishTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("LAST_FINISH_TIME >=", value, "lastFinishTime");
            return this;
        }

        public Criteria andLastFinishTimeLessThan(Date value) {
            addCriterionForJDBCDate("LAST_FINISH_TIME <", value, "lastFinishTime");
            return this;
        }

        public Criteria andLastFinishTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("LAST_FINISH_TIME <=", value, "lastFinishTime");
            return this;
        }

        public Criteria andLastFinishTimeIn(List<Date> values) {
            addCriterionForJDBCDate("LAST_FINISH_TIME in", values, "lastFinishTime");
            return this;
        }

        public Criteria andLastFinishTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("LAST_FINISH_TIME not in", values, "lastFinishTime");
            return this;
        }

        public Criteria andLastFinishTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("LAST_FINISH_TIME between", value1, value2, "lastFinishTime");
            return this;
        }

        public Criteria andLastFinishTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("LAST_FINISH_TIME not between", value1, value2, "lastFinishTime");
            return this;
        }

        public Criteria andDepartmentIsNull() {
            addCriterion("DEPARTMENT is null");
            return this;
        }

        public Criteria andDepartmentIsNotNull() {
            addCriterion("DEPARTMENT is not null");
            return this;
        }

        public Criteria andDepartmentEqualTo(String value) {
            addCriterion("DEPARTMENT =", value, "department");
            return this;
        }

        public Criteria andDepartmentNotEqualTo(String value) {
            addCriterion("DEPARTMENT <>", value, "department");
            return this;
        }

        public Criteria andDepartmentGreaterThan(String value) {
            addCriterion("DEPARTMENT >", value, "department");
            return this;
        }

        public Criteria andDepartmentGreaterThanOrEqualTo(String value) {
            addCriterion("DEPARTMENT >=", value, "department");
            return this;
        }

        public Criteria andDepartmentLessThan(String value) {
            addCriterion("DEPARTMENT <", value, "department");
            return this;
        }

        public Criteria andDepartmentLessThanOrEqualTo(String value) {
            addCriterion("DEPARTMENT <=", value, "department");
            return this;
        }

        public Criteria andDepartmentLike(String value) {
            addCriterion("DEPARTMENT like", value, "department");
            return this;
        }

        public Criteria andDepartmentNotLike(String value) {
            addCriterion("DEPARTMENT not like", value, "department");
            return this;
        }

        public Criteria andDepartmentIn(List<String> values) {
            addCriterion("DEPARTMENT in", values, "department");
            return this;
        }

        public Criteria andDepartmentNotIn(List<String> values) {
            addCriterion("DEPARTMENT not in", values, "department");
            return this;
        }

        public Criteria andDepartmentBetween(String value1, String value2) {
            addCriterion("DEPARTMENT between", value1, value2, "department");
            return this;
        }

        public Criteria andDepartmentNotBetween(String value1, String value2) {
            addCriterion("DEPARTMENT not between", value1, value2, "department");
            return this;
        }

        public Criteria andInfoTypeIsNull() {
            addCriterion("INFO_TYPE is null");
            return this;
        }

        public Criteria andInfoTypeIsNotNull() {
            addCriterion("INFO_TYPE is not null");
            return this;
        }

        public Criteria andInfoTypeEqualTo(String value) {
            addCriterion("INFO_TYPE =", value, "infoType");
            return this;
        }

        public Criteria andInfoTypeNotEqualTo(String value) {
            addCriterion("INFO_TYPE <>", value, "infoType");
            return this;
        }

        public Criteria andInfoTypeGreaterThan(String value) {
            addCriterion("INFO_TYPE >", value, "infoType");
            return this;
        }

        public Criteria andInfoTypeGreaterThanOrEqualTo(String value) {
            addCriterion("INFO_TYPE >=", value, "infoType");
            return this;
        }

        public Criteria andInfoTypeLessThan(String value) {
            addCriterion("INFO_TYPE <", value, "infoType");
            return this;
        }

        public Criteria andInfoTypeLessThanOrEqualTo(String value) {
            addCriterion("INFO_TYPE <=", value, "infoType");
            return this;
        }

        public Criteria andInfoTypeLike(String value) {
            addCriterion("INFO_TYPE like", value, "infoType");
            return this;
        }

        public Criteria andInfoTypeNotLike(String value) {
            addCriterion("INFO_TYPE not like", value, "infoType");
            return this;
        }

        public Criteria andInfoTypeIn(List<String> values) {
            addCriterion("INFO_TYPE in", values, "infoType");
            return this;
        }

        public Criteria andInfoTypeNotIn(List<String> values) {
            addCriterion("INFO_TYPE not in", values, "infoType");
            return this;
        }

        public Criteria andInfoTypeBetween(String value1, String value2) {
            addCriterion("INFO_TYPE between", value1, value2, "infoType");
            return this;
        }

        public Criteria andInfoTypeNotBetween(String value1, String value2) {
            addCriterion("INFO_TYPE not between", value1, value2, "infoType");
            return this;
        }

        public Criteria andInfoContentIsNull() {
            addCriterion("INFO_CONTENT is null");
            return this;
        }

        public Criteria andInfoContentIsNotNull() {
            addCriterion("INFO_CONTENT is not null");
            return this;
        }

        public Criteria andInfoContentEqualTo(String value) {
            addCriterion("INFO_CONTENT =", value, "infoContent");
            return this;
        }

        public Criteria andInfoContentNotEqualTo(String value) {
            addCriterion("INFO_CONTENT <>", value, "infoContent");
            return this;
        }

        public Criteria andInfoContentGreaterThan(String value) {
            addCriterion("INFO_CONTENT >", value, "infoContent");
            return this;
        }

        public Criteria andInfoContentGreaterThanOrEqualTo(String value) {
            addCriterion("INFO_CONTENT >=", value, "infoContent");
            return this;
        }

        public Criteria andInfoContentLessThan(String value) {
            addCriterion("INFO_CONTENT <", value, "infoContent");
            return this;
        }

        public Criteria andInfoContentLessThanOrEqualTo(String value) {
            addCriterion("INFO_CONTENT <=", value, "infoContent");
            return this;
        }

        public Criteria andInfoContentLike(String value) {
            addCriterion("INFO_CONTENT like", value, "infoContent");
            return this;
        }

        public Criteria andInfoContentNotLike(String value) {
            addCriterion("INFO_CONTENT not like", value, "infoContent");
            return this;
        }

        public Criteria andInfoContentIn(List<String> values) {
            addCriterion("INFO_CONTENT in", values, "infoContent");
            return this;
        }

        public Criteria andInfoContentNotIn(List<String> values) {
            addCriterion("INFO_CONTENT not in", values, "infoContent");
            return this;
        }

        public Criteria andInfoContentBetween(String value1, String value2) {
            addCriterion("INFO_CONTENT between", value1, value2, "infoContent");
            return this;
        }

        public Criteria andInfoContentNotBetween(String value1, String value2) {
            addCriterion("INFO_CONTENT not between", value1, value2, "infoContent");
            return this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("STATUS is null");
            return this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("STATUS is not null");
            return this;
        }

        public Criteria andStatusEqualTo(String value) {
            addCriterion("STATUS =", value, "status");
            return this;
        }

        public Criteria andStatusNotEqualTo(String value) {
            addCriterion("STATUS <>", value, "status");
            return this;
        }

        public Criteria andStatusGreaterThan(String value) {
            addCriterion("STATUS >", value, "status");
            return this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(String value) {
            addCriterion("STATUS >=", value, "status");
            return this;
        }

        public Criteria andStatusLessThan(String value) {
            addCriterion("STATUS <", value, "status");
            return this;
        }

        public Criteria andStatusLessThanOrEqualTo(String value) {
            addCriterion("STATUS <=", value, "status");
            return this;
        }

        public Criteria andStatusLike(String value) {
            addCriterion("STATUS like", value, "status");
            return this;
        }

        public Criteria andStatusNotLike(String value) {
            addCriterion("STATUS not like", value, "status");
            return this;
        }

        public Criteria andStatusIn(List<String> values) {
            addCriterion("STATUS in", values, "status");
            return this;
        }

        public Criteria andStatusNotIn(List<String> values) {
            addCriterion("STATUS not in", values, "status");
            return this;
        }

        public Criteria andStatusBetween(String value1, String value2) {
            addCriterion("STATUS between", value1, value2, "status");
            return this;
        }

        public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion("STATUS not between", value1, value2, "status");
            return this;
        }

        public Criteria andAnswerInfoIsNull() {
            addCriterion("ANSWER_INFO is null");
            return this;
        }

        public Criteria andAnswerInfoIsNotNull() {
            addCriterion("ANSWER_INFO is not null");
            return this;
        }

        public Criteria andAnswerInfoEqualTo(String value) {
            addCriterion("ANSWER_INFO =", value, "answerInfo");
            return this;
        }

        public Criteria andAnswerInfoNotEqualTo(String value) {
            addCriterion("ANSWER_INFO <>", value, "answerInfo");
            return this;
        }

        public Criteria andAnswerInfoGreaterThan(String value) {
            addCriterion("ANSWER_INFO >", value, "answerInfo");
            return this;
        }

        public Criteria andAnswerInfoGreaterThanOrEqualTo(String value) {
            addCriterion("ANSWER_INFO >=", value, "answerInfo");
            return this;
        }

        public Criteria andAnswerInfoLessThan(String value) {
            addCriterion("ANSWER_INFO <", value, "answerInfo");
            return this;
        }

        public Criteria andAnswerInfoLessThanOrEqualTo(String value) {
            addCriterion("ANSWER_INFO <=", value, "answerInfo");
            return this;
        }

        public Criteria andAnswerInfoLike(String value) {
            addCriterion("ANSWER_INFO like", value, "answerInfo");
            return this;
        }

        public Criteria andAnswerInfoNotLike(String value) {
            addCriterion("ANSWER_INFO not like", value, "answerInfo");
            return this;
        }

        public Criteria andAnswerInfoIn(List<String> values) {
            addCriterion("ANSWER_INFO in", values, "answerInfo");
            return this;
        }

        public Criteria andAnswerInfoNotIn(List<String> values) {
            addCriterion("ANSWER_INFO not in", values, "answerInfo");
            return this;
        }

        public Criteria andAnswerInfoBetween(String value1, String value2) {
            addCriterion("ANSWER_INFO between", value1, value2, "answerInfo");
            return this;
        }

        public Criteria andAnswerInfoNotBetween(String value1, String value2) {
            addCriterion("ANSWER_INFO not between", value1, value2, "answerInfo");
            return this;
        }

        public Criteria andAttachmentIsNull() {
            addCriterion("ATTACHMENT is null");
            return this;
        }

        public Criteria andAttachmentIsNotNull() {
            addCriterion("ATTACHMENT is not null");
            return this;
        }

        public Criteria andAttachmentEqualTo(BigDecimal value) {
            addCriterion("ATTACHMENT =", value, "attachment");
            return this;
        }

        public Criteria andAttachmentNotEqualTo(BigDecimal value) {
            addCriterion("ATTACHMENT <>", value, "attachment");
            return this;
        }

        public Criteria andAttachmentGreaterThan(BigDecimal value) {
            addCriterion("ATTACHMENT >", value, "attachment");
            return this;
        }

        public Criteria andAttachmentGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("ATTACHMENT >=", value, "attachment");
            return this;
        }

        public Criteria andAttachmentLessThan(BigDecimal value) {
            addCriterion("ATTACHMENT <", value, "attachment");
            return this;
        }

        public Criteria andAttachmentLessThanOrEqualTo(BigDecimal value) {
            addCriterion("ATTACHMENT <=", value, "attachment");
            return this;
        }

        public Criteria andAttachmentIn(List<BigDecimal> values) {
            addCriterion("ATTACHMENT in", values, "attachment");
            return this;
        }

        public Criteria andAttachmentNotIn(List<BigDecimal> values) {
            addCriterion("ATTACHMENT not in", values, "attachment");
            return this;
        }

        public Criteria andAttachmentBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ATTACHMENT between", value1, value2, "attachment");
            return this;
        }

        public Criteria andAttachmentNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("ATTACHMENT not between", value1, value2, "attachment");
            return this;
        }

        public Criteria andAttachnameIsNull() {
            addCriterion("ATTACHNAME is null");
            return this;
        }

        public Criteria andAttachnameIsNotNull() {
            addCriterion("ATTACHNAME is not null");
            return this;
        }

        public Criteria andAttachnameEqualTo(String value) {
            addCriterion("ATTACHNAME =", value, "attachname");
            return this;
        }

        public Criteria andAttachnameNotEqualTo(String value) {
            addCriterion("ATTACHNAME <>", value, "attachname");
            return this;
        }

        public Criteria andAttachnameGreaterThan(String value) {
            addCriterion("ATTACHNAME >", value, "attachname");
            return this;
        }

        public Criteria andAttachnameGreaterThanOrEqualTo(String value) {
            addCriterion("ATTACHNAME >=", value, "attachname");
            return this;
        }

        public Criteria andAttachnameLessThan(String value) {
            addCriterion("ATTACHNAME <", value, "attachname");
            return this;
        }

        public Criteria andAttachnameLessThanOrEqualTo(String value) {
            addCriterion("ATTACHNAME <=", value, "attachname");
            return this;
        }

        public Criteria andAttachnameLike(String value) {
            addCriterion("ATTACHNAME like", value, "attachname");
            return this;
        }

        public Criteria andAttachnameNotLike(String value) {
            addCriterion("ATTACHNAME not like", value, "attachname");
            return this;
        }

        public Criteria andAttachnameIn(List<String> values) {
            addCriterion("ATTACHNAME in", values, "attachname");
            return this;
        }

        public Criteria andAttachnameNotIn(List<String> values) {
            addCriterion("ATTACHNAME not in", values, "attachname");
            return this;
        }

        public Criteria andAttachnameBetween(String value1, String value2) {
            addCriterion("ATTACHNAME between", value1, value2, "attachname");
            return this;
        }

        public Criteria andAttachnameNotBetween(String value1, String value2) {
            addCriterion("ATTACHNAME not between", value1, value2, "attachname");
            return this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("REMARK is null");
            return this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("REMARK is not null");
            return this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("REMARK =", value, "remark");
            return this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("REMARK <>", value, "remark");
            return this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("REMARK >", value, "remark");
            return this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("REMARK >=", value, "remark");
            return this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("REMARK <", value, "remark");
            return this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("REMARK <=", value, "remark");
            return this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("REMARK like", value, "remark");
            return this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("REMARK not like", value, "remark");
            return this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("REMARK in", values, "remark");
            return this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("REMARK not in", values, "remark");
            return this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("REMARK between", value1, value2, "remark");
            return this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("REMARK not between", value1, value2, "remark");
            return this;
        }

        public Criteria andProcessinstidIsNull() {
            addCriterion("PROCESSINSTID is null");
            return this;
        }

        public Criteria andProcessinstidIsNotNull() {
            addCriterion("PROCESSINSTID is not null");
            return this;
        }

        public Criteria andProcessinstidEqualTo(String value) {
            addCriterion("PROCESSINSTID =", value, "processinstid");
            return this;
        }

        public Criteria andProcessinstidNotEqualTo(String value) {
            addCriterion("PROCESSINSTID <>", value, "processinstid");
            return this;
        }

        public Criteria andProcessinstidGreaterThan(String value) {
            addCriterion("PROCESSINSTID >", value, "processinstid");
            return this;
        }

        public Criteria andProcessinstidGreaterThanOrEqualTo(String value) {
            addCriterion("PROCESSINSTID >=", value, "processinstid");
            return this;
        }

        public Criteria andProcessinstidLessThan(String value) {
            addCriterion("PROCESSINSTID <", value, "processinstid");
            return this;
        }

        public Criteria andProcessinstidLessThanOrEqualTo(String value) {
            addCriterion("PROCESSINSTID <=", value, "processinstid");
            return this;
        }

        public Criteria andProcessinstidLike(String value) {
            addCriterion("PROCESSINSTID like", value, "processinstid");
            return this;
        }

        public Criteria andProcessinstidNotLike(String value) {
            addCriterion("PROCESSINSTID not like", value, "processinstid");
            return this;
        }

        public Criteria andProcessinstidIn(List<String> values) {
            addCriterion("PROCESSINSTID in", values, "processinstid");
            return this;
        }

        public Criteria andProcessinstidNotIn(List<String> values) {
            addCriterion("PROCESSINSTID not in", values, "processinstid");
            return this;
        }

        public Criteria andProcessinstidBetween(String value1, String value2) {
            addCriterion("PROCESSINSTID between", value1, value2, "processinstid");
            return this;
        }

        public Criteria andProcessinstidNotBetween(String value1, String value2) {
            addCriterion("PROCESSINSTID not between", value1, value2, "processinstid");
            return this;
        }

        public Criteria andCreateUserCodeIsNull() {
            addCriterion("CREATE_USER_CODE is null");
            return this;
        }

        public Criteria andCreateUserCodeIsNotNull() {
            addCriterion("CREATE_USER_CODE is not null");
            return this;
        }

        public Criteria andCreateUserCodeEqualTo(String value) {
            addCriterion("CREATE_USER_CODE =", value, "createUserCode");
            return this;
        }

        public Criteria andCreateUserCodeNotEqualTo(String value) {
            addCriterion("CREATE_USER_CODE <>", value, "createUserCode");
            return this;
        }

        public Criteria andCreateUserCodeGreaterThan(String value) {
            addCriterion("CREATE_USER_CODE >", value, "createUserCode");
            return this;
        }

        public Criteria andCreateUserCodeGreaterThanOrEqualTo(String value) {
            addCriterion("CREATE_USER_CODE >=", value, "createUserCode");
            return this;
        }

        public Criteria andCreateUserCodeLessThan(String value) {
            addCriterion("CREATE_USER_CODE <", value, "createUserCode");
            return this;
        }

        public Criteria andCreateUserCodeLessThanOrEqualTo(String value) {
            addCriterion("CREATE_USER_CODE <=", value, "createUserCode");
            return this;
        }

        public Criteria andCreateUserCodeLike(String value) {
            addCriterion("CREATE_USER_CODE like", value, "createUserCode");
            return this;
        }

        public Criteria andCreateUserCodeNotLike(String value) {
            addCriterion("CREATE_USER_CODE not like", value, "createUserCode");
            return this;
        }

        public Criteria andCreateUserCodeIn(List<String> values) {
            addCriterion("CREATE_USER_CODE in", values, "createUserCode");
            return this;
        }

        public Criteria andCreateUserCodeNotIn(List<String> values) {
            addCriterion("CREATE_USER_CODE not in", values, "createUserCode");
            return this;
        }

        public Criteria andCreateUserCodeBetween(String value1, String value2) {
            addCriterion("CREATE_USER_CODE between", value1, value2, "createUserCode");
            return this;
        }

        public Criteria andCreateUserCodeNotBetween(String value1, String value2) {
            addCriterion("CREATE_USER_CODE not between", value1, value2, "createUserCode");
            return this;
        }

        public Criteria andCreateUserIsNull() {
            addCriterion("CREATE_USER is null");
            return this;
        }

        public Criteria andCreateUserIsNotNull() {
            addCriterion("CREATE_USER is not null");
            return this;
        }

        public Criteria andCreateUserEqualTo(String value) {
            addCriterion("CREATE_USER =", value, "createUser");
            return this;
        }

        public Criteria andCreateUserNotEqualTo(String value) {
            addCriterion("CREATE_USER <>", value, "createUser");
            return this;
        }

        public Criteria andCreateUserGreaterThan(String value) {
            addCriterion("CREATE_USER >", value, "createUser");
            return this;
        }

        public Criteria andCreateUserGreaterThanOrEqualTo(String value) {
            addCriterion("CREATE_USER >=", value, "createUser");
            return this;
        }

        public Criteria andCreateUserLessThan(String value) {
            addCriterion("CREATE_USER <", value, "createUser");
            return this;
        }

        public Criteria andCreateUserLessThanOrEqualTo(String value) {
            addCriterion("CREATE_USER <=", value, "createUser");
            return this;
        }

        public Criteria andCreateUserLike(String value) {
            addCriterion("CREATE_USER like", value, "createUser");
            return this;
        }

        public Criteria andCreateUserNotLike(String value) {
            addCriterion("CREATE_USER not like", value, "createUser");
            return this;
        }

        public Criteria andCreateUserIn(List<String> values) {
            addCriterion("CREATE_USER in", values, "createUser");
            return this;
        }

        public Criteria andCreateUserNotIn(List<String> values) {
            addCriterion("CREATE_USER not in", values, "createUser");
            return this;
        }

        public Criteria andCreateUserBetween(String value1, String value2) {
            addCriterion("CREATE_USER between", value1, value2, "createUser");
            return this;
        }

        public Criteria andCreateUserNotBetween(String value1, String value2) {
            addCriterion("CREATE_USER not between", value1, value2, "createUser");
            return this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("CREATE_TIME is null");
            return this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("CREATE_TIME is not null");
            return this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterionForJDBCDate("CREATE_TIME =", value, "createTime");
            return this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("CREATE_TIME <>", value, "createTime");
            return this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("CREATE_TIME >", value, "createTime");
            return this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("CREATE_TIME >=", value, "createTime");
            return this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterionForJDBCDate("CREATE_TIME <", value, "createTime");
            return this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("CREATE_TIME <=", value, "createTime");
            return this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterionForJDBCDate("CREATE_TIME in", values, "createTime");
            return this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("CREATE_TIME not in", values, "createTime");
            return this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("CREATE_TIME between", value1, value2, "createTime");
            return this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("CREATE_TIME not between", value1, value2, "createTime");
            return this;
        }

        public Criteria andReportGroupIsNull() {
            addCriterion("REPORT_GROUP is null");
            return this;
        }

        public Criteria andReportGroupIsNotNull() {
            addCriterion("REPORT_GROUP is not null");
            return this;
        }

        public Criteria andReportGroupEqualTo(String value) {
            addCriterion("REPORT_GROUP =", value, "reportGroup");
            return this;
        }

        public Criteria andReportGroupNotEqualTo(String value) {
            addCriterion("REPORT_GROUP <>", value, "reportGroup");
            return this;
        }

        public Criteria andReportGroupGreaterThan(String value) {
            addCriterion("REPORT_GROUP >", value, "reportGroup");
            return this;
        }

        public Criteria andReportGroupGreaterThanOrEqualTo(String value) {
            addCriterion("REPORT_GROUP >=", value, "reportGroup");
            return this;
        }

        public Criteria andReportGroupLessThan(String value) {
            addCriterion("REPORT_GROUP <", value, "reportGroup");
            return this;
        }

        public Criteria andReportGroupLessThanOrEqualTo(String value) {
            addCriterion("REPORT_GROUP <=", value, "reportGroup");
            return this;
        }

        public Criteria andReportGroupLike(String value) {
            addCriterion("REPORT_GROUP like", value, "reportGroup");
            return this;
        }

        public Criteria andReportGroupNotLike(String value) {
            addCriterion("REPORT_GROUP not like", value, "reportGroup");
            return this;
        }

        public Criteria andReportGroupIn(List<String> values) {
            addCriterion("REPORT_GROUP in", values, "reportGroup");
            return this;
        }

        public Criteria andReportGroupNotIn(List<String> values) {
            addCriterion("REPORT_GROUP not in", values, "reportGroup");
            return this;
        }

        public Criteria andReportGroupBetween(String value1, String value2) {
            addCriterion("REPORT_GROUP between", value1, value2, "reportGroup");
            return this;
        }

        public Criteria andReportGroupNotBetween(String value1, String value2) {
            addCriterion("REPORT_GROUP not between", value1, value2, "reportGroup");
            return this;
        }

        public Criteria andReportTimeIsNull() {
            addCriterion("REPORT_TIME is null");
            return this;
        }

        public Criteria andReportTimeIsNotNull() {
            addCriterion("REPORT_TIME is not null");
            return this;
        }

        public Criteria andReportTimeEqualTo(Date value) {
            addCriterionForJDBCDate("REPORT_TIME =", value, "reportTime");
            return this;
        }

        public Criteria andReportTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("REPORT_TIME <>", value, "reportTime");
            return this;
        }

        public Criteria andReportTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("REPORT_TIME >", value, "reportTime");
            return this;
        }

        public Criteria andReportTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("REPORT_TIME >=", value, "reportTime");
            return this;
        }

        public Criteria andReportTimeLessThan(Date value) {
            addCriterionForJDBCDate("REPORT_TIME <", value, "reportTime");
            return this;
        }

        public Criteria andReportTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("REPORT_TIME <=", value, "reportTime");
            return this;
        }

        public Criteria andReportTimeIn(List<Date> values) {
            addCriterionForJDBCDate("REPORT_TIME in", values, "reportTime");
            return this;
        }

        public Criteria andReportTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("REPORT_TIME not in", values, "reportTime");
            return this;
        }

        public Criteria andReportTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("REPORT_TIME between", value1, value2, "reportTime");
            return this;
        }

        public Criteria andReportTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("REPORT_TIME not between", value1, value2, "reportTime");
            return this;
        }

        public Criteria andInstancyLevelIsNull() {
            addCriterion("INSTANCY_LEVEL is null");
            return this;
        }

        public Criteria andInstancyLevelIsNotNull() {
            addCriterion("INSTANCY_LEVEL is not null");
            return this;
        }

        public Criteria andInstancyLevelEqualTo(String value) {
            addCriterion("INSTANCY_LEVEL =", value, "instancyLevel");
            return this;
        }

        public Criteria andInstancyLevelNotEqualTo(String value) {
            addCriterion("INSTANCY_LEVEL <>", value, "instancyLevel");
            return this;
        }

        public Criteria andInstancyLevelGreaterThan(String value) {
            addCriterion("INSTANCY_LEVEL >", value, "instancyLevel");
            return this;
        }

        public Criteria andInstancyLevelGreaterThanOrEqualTo(String value) {
            addCriterion("INSTANCY_LEVEL >=", value, "instancyLevel");
            return this;
        }

        public Criteria andInstancyLevelLessThan(String value) {
            addCriterion("INSTANCY_LEVEL <", value, "instancyLevel");
            return this;
        }

        public Criteria andInstancyLevelLessThanOrEqualTo(String value) {
            addCriterion("INSTANCY_LEVEL <=", value, "instancyLevel");
            return this;
        }

        public Criteria andInstancyLevelLike(String value) {
            addCriterion("INSTANCY_LEVEL like", value, "instancyLevel");
            return this;
        }

        public Criteria andInstancyLevelNotLike(String value) {
            addCriterion("INSTANCY_LEVEL not like", value, "instancyLevel");
            return this;
        }

        public Criteria andInstancyLevelIn(List<String> values) {
            addCriterion("INSTANCY_LEVEL in", values, "instancyLevel");
            return this;
        }

        public Criteria andInstancyLevelNotIn(List<String> values) {
            addCriterion("INSTANCY_LEVEL not in", values, "instancyLevel");
            return this;
        }

        public Criteria andInstancyLevelBetween(String value1, String value2) {
            addCriterion("INSTANCY_LEVEL between", value1, value2, "instancyLevel");
            return this;
        }

        public Criteria andInstancyLevelNotBetween(String value1, String value2) {
            addCriterion("INSTANCY_LEVEL not between", value1, value2, "instancyLevel");
            return this;
        }

        public Criteria andLastAnswerManIsNull() {
            addCriterion("LAST_ANSWER_MAN is null");
            return this;
        }

        public Criteria andLastAnswerManIsNotNull() {
            addCriterion("LAST_ANSWER_MAN is not null");
            return this;
        }

        public Criteria andLastAnswerManEqualTo(String value) {
            addCriterion("LAST_ANSWER_MAN =", value, "lastAnswerMan");
            return this;
        }

        public Criteria andLastAnswerManNotEqualTo(String value) {
            addCriterion("LAST_ANSWER_MAN <>", value, "lastAnswerMan");
            return this;
        }

        public Criteria andLastAnswerManGreaterThan(String value) {
            addCriterion("LAST_ANSWER_MAN >", value, "lastAnswerMan");
            return this;
        }

        public Criteria andLastAnswerManGreaterThanOrEqualTo(String value) {
            addCriterion("LAST_ANSWER_MAN >=", value, "lastAnswerMan");
            return this;
        }

        public Criteria andLastAnswerManLessThan(String value) {
            addCriterion("LAST_ANSWER_MAN <", value, "lastAnswerMan");
            return this;
        }

        public Criteria andLastAnswerManLessThanOrEqualTo(String value) {
            addCriterion("LAST_ANSWER_MAN <=", value, "lastAnswerMan");
            return this;
        }

        public Criteria andLastAnswerManLike(String value) {
            addCriterion("LAST_ANSWER_MAN like", value, "lastAnswerMan");
            return this;
        }

        public Criteria andLastAnswerManNotLike(String value) {
            addCriterion("LAST_ANSWER_MAN not like", value, "lastAnswerMan");
            return this;
        }

        public Criteria andLastAnswerManIn(List<String> values) {
            addCriterion("LAST_ANSWER_MAN in", values, "lastAnswerMan");
            return this;
        }

        public Criteria andLastAnswerManNotIn(List<String> values) {
            addCriterion("LAST_ANSWER_MAN not in", values, "lastAnswerMan");
            return this;
        }

        public Criteria andLastAnswerManBetween(String value1, String value2) {
            addCriterion("LAST_ANSWER_MAN between", value1, value2, "lastAnswerMan");
            return this;
        }

        public Criteria andLastAnswerManNotBetween(String value1, String value2) {
            addCriterion("LAST_ANSWER_MAN not between", value1, value2, "lastAnswerMan");
            return this;
        }

        public Criteria andBackCauseIsNull() {
            addCriterion("BACK_CAUSE is null");
            return this;
        }

        public Criteria andBackCauseIsNotNull() {
            addCriterion("BACK_CAUSE is not null");
            return this;
        }

        public Criteria andBackCauseEqualTo(String value) {
            addCriterion("BACK_CAUSE =", value, "backCause");
            return this;
        }

        public Criteria andBackCauseNotEqualTo(String value) {
            addCriterion("BACK_CAUSE <>", value, "backCause");
            return this;
        }

        public Criteria andBackCauseGreaterThan(String value) {
            addCriterion("BACK_CAUSE >", value, "backCause");
            return this;
        }

        public Criteria andBackCauseGreaterThanOrEqualTo(String value) {
            addCriterion("BACK_CAUSE >=", value, "backCause");
            return this;
        }

        public Criteria andBackCauseLessThan(String value) {
            addCriterion("BACK_CAUSE <", value, "backCause");
            return this;
        }

        public Criteria andBackCauseLessThanOrEqualTo(String value) {
            addCriterion("BACK_CAUSE <=", value, "backCause");
            return this;
        }

        public Criteria andBackCauseLike(String value) {
            addCriterion("BACK_CAUSE like", value, "backCause");
            return this;
        }

        public Criteria andBackCauseNotLike(String value) {
            addCriterion("BACK_CAUSE not like", value, "backCause");
            return this;
        }

        public Criteria andBackCauseIn(List<String> values) {
            addCriterion("BACK_CAUSE in", values, "backCause");
            return this;
        }

        public Criteria andBackCauseNotIn(List<String> values) {
            addCriterion("BACK_CAUSE not in", values, "backCause");
            return this;
        }

        public Criteria andBackCauseBetween(String value1, String value2) {
            addCriterion("BACK_CAUSE between", value1, value2, "backCause");
            return this;
        }

        public Criteria andBackCauseNotBetween(String value1, String value2) {
            addCriterion("BACK_CAUSE not between", value1, value2, "backCause");
            return this;
        }

        public Criteria andCurrentlyParticipantIsNull() {
            addCriterion("CURRENTLY_PARTICIPANT is null");
            return this;
        }

        public Criteria andCurrentlyParticipantIsNotNull() {
            addCriterion("CURRENTLY_PARTICIPANT is not null");
            return this;
        }

        public Criteria andCurrentlyParticipantEqualTo(String value) {
            addCriterion("CURRENTLY_PARTICIPANT =", value, "currentlyParticipant");
            return this;
        }

        public Criteria andCurrentlyParticipantNotEqualTo(String value) {
            addCriterion("CURRENTLY_PARTICIPANT <>", value, "currentlyParticipant");
            return this;
        }

        public Criteria andCurrentlyParticipantGreaterThan(String value) {
            addCriterion("CURRENTLY_PARTICIPANT >", value, "currentlyParticipant");
            return this;
        }

        public Criteria andCurrentlyParticipantGreaterThanOrEqualTo(String value) {
            addCriterion("CURRENTLY_PARTICIPANT >=", value, "currentlyParticipant");
            return this;
        }

        public Criteria andCurrentlyParticipantLessThan(String value) {
            addCriterion("CURRENTLY_PARTICIPANT <", value, "currentlyParticipant");
            return this;
        }

        public Criteria andCurrentlyParticipantLessThanOrEqualTo(String value) {
            addCriterion("CURRENTLY_PARTICIPANT <=", value, "currentlyParticipant");
            return this;
        }

        public Criteria andCurrentlyParticipantLike(String value) {
            addCriterion("CURRENTLY_PARTICIPANT like", value, "currentlyParticipant");
            return this;
        }

        public Criteria andCurrentlyParticipantNotLike(String value) {
            addCriterion("CURRENTLY_PARTICIPANT not like", value, "currentlyParticipant");
            return this;
        }

        public Criteria andCurrentlyParticipantIn(List<String> values) {
            addCriterion("CURRENTLY_PARTICIPANT in", values, "currentlyParticipant");
            return this;
        }

        public Criteria andCurrentlyParticipantNotIn(List<String> values) {
            addCriterion("CURRENTLY_PARTICIPANT not in", values, "currentlyParticipant");
            return this;
        }

        public Criteria andCurrentlyParticipantBetween(String value1, String value2) {
            addCriterion("CURRENTLY_PARTICIPANT between", value1, value2, "currentlyParticipant");
            return this;
        }

        public Criteria andCurrentlyParticipantNotBetween(String value1, String value2) {
            addCriterion("CURRENTLY_PARTICIPANT not between", value1, value2, "currentlyParticipant");
            return this;
        }
    }
}